{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "7343d0bb-11b7-4a03-a410-e6d863cde034",
   "metadata": {},
   "outputs": [],
   "source": [
    "from glob import glob\n",
    "import pandas as pd\n",
    "from scipy.stats import spearmanr, fisher_exact\n",
    "from statsmodels.sandbox.stats.multicomp import multipletests\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "from skbio.stats.composition import clr\n",
    "\n",
    "sns.set_style('whitegrid')\n",
    "\n",
    "def p_adjust(pvalues, method='fdr_bh'):\n",
    "    res = multipletests(pvalues, method=method)\n",
    "    return np.array(res[1], dtype=float)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "563ad34e-841c-49af-888b-d69862313065",
   "metadata": {},
   "source": [
    "# Correlate proteomics data with median titers\n",
    "##### 7/18/22\n",
    "##### Michael Shaffer\n",
    "##### Merck ESC, Sys bio group\n",
    "\n",
    "After some success with KOs and more success with metabolomics we decided to go into proteomics. Same exact approach as in metabolomics."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18d883c6-2a81-4fd5-a947-89fd24c6fa12",
   "metadata": {},
   "source": [
    "## Read in the data\n",
    "\n",
    "This is a data sheet that I got directly from Hendrik."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c72a493d-1ca8-4e8a-b515-e49024f0c039",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BioID</th>\n",
       "      <th>Well</th>\n",
       "      <th>Run Number</th>\n",
       "      <th>Hospital</th>\n",
       "      <th>VisitID</th>\n",
       "      <th>Age</th>\n",
       "      <th>Draw</th>\n",
       "      <th>Matrix</th>\n",
       "      <th>Draw_Matrix</th>\n",
       "      <th>Draw_Matrix_Time</th>\n",
       "      <th>...</th>\n",
       "      <th>sp|Q6UWP8|SBSN_HUMAN</th>\n",
       "      <th>sp|Q6UXB8|PI16_HUMAN</th>\n",
       "      <th>sp|Q92736|RYR2_HUMAN</th>\n",
       "      <th>sp|Q96IY4|CBPB2_HUMAN</th>\n",
       "      <th>sp|Q96PD5|PGRP2_HUMAN</th>\n",
       "      <th>sp|Q9HDC9|APMAP_HUMAN</th>\n",
       "      <th>sp|Q9NZP8|C1RL_HUMAN</th>\n",
       "      <th>sp|Q9UBP9|GULP1_HUMAN</th>\n",
       "      <th>sp|Q9UGM5|FETUB_HUMAN</th>\n",
       "      <th>sp|Q9Y490|TLN1_HUMAN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A</th>\n",
       "      <td>106A</td>\n",
       "      <td>A1</td>\n",
       "      <td>5</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>63</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>18.2125721</td>\n",
       "      <td>23.48308372</td>\n",
       "      <td>20.45380974</td>\n",
       "      <td>21.819561</td>\n",
       "      <td>25.08229065</td>\n",
       "      <td>20.85553551</td>\n",
       "      <td>20.4588604</td>\n",
       "      <td>28.83514977</td>\n",
       "      <td>21.02322769</td>\n",
       "      <td>20.34404564</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>209A</td>\n",
       "      <td>A2</td>\n",
       "      <td>6</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>55</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>16.90970612</td>\n",
       "      <td>23.31561852</td>\n",
       "      <td>18.60210037</td>\n",
       "      <td>22.21127701</td>\n",
       "      <td>24.88887978</td>\n",
       "      <td>20.59141159</td>\n",
       "      <td>17.14304733</td>\n",
       "      <td>28.68237686</td>\n",
       "      <td>21.82271576</td>\n",
       "      <td>19.7013855</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>214A</td>\n",
       "      <td>A8</td>\n",
       "      <td>12</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>89</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>13.34554386</td>\n",
       "      <td>23.58817863</td>\n",
       "      <td>18.65951729</td>\n",
       "      <td>21.8640461</td>\n",
       "      <td>25.16353798</td>\n",
       "      <td>21.04162788</td>\n",
       "      <td>18.74650764</td>\n",
       "      <td>29.10836601</td>\n",
       "      <td>19.95448685</td>\n",
       "      <td>20.4085598</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>227A</td>\n",
       "      <td>C3</td>\n",
       "      <td>21</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>57</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>20.80704689</td>\n",
       "      <td>23.25824928</td>\n",
       "      <td>21.18655968</td>\n",
       "      <td>21.24667168</td>\n",
       "      <td>25.07989311</td>\n",
       "      <td>19.46746445</td>\n",
       "      <td>20.6216526</td>\n",
       "      <td>28.35871315</td>\n",
       "      <td>20.65556526</td>\n",
       "      <td>20.66396141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A</th>\n",
       "      <td>124A</td>\n",
       "      <td>C6</td>\n",
       "      <td>24</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>97</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>17.50129318</td>\n",
       "      <td>23.05339622</td>\n",
       "      <td>21.60560417</td>\n",
       "      <td>21.72242355</td>\n",
       "      <td>25.20258331</td>\n",
       "      <td>19.91134644</td>\n",
       "      <td>21.13340378</td>\n",
       "      <td>28.25678444</td>\n",
       "      <td>20.77088356</td>\n",
       "      <td>20.50154495</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 267 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         BioID Well Run Number  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  106A   A1          5   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  209A   A2          6   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  214A   A8         12   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  227A   C3         21   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  124A   C6         24   \n",
       "\n",
       "                                                Hospital VisitID Age  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  Well Check 02m      V5  63   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  Well Check 02m      V5  55   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  Well Check 02m      V5  89   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  Well Check 02m      V5  57   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  Well Check 02m      V5  97   \n",
       "\n",
       "                                               Draw Matrix      Draw_Matrix  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  Heelstick  Serum  Heelstick_Serum   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  Heelstick  Serum  Heelstick_Serum   \n",
       "\n",
       "                                            Draw_Matrix_Time  ...  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A  V5_Heelstick_Serum  ...   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A  V5_Heelstick_Serum  ...   \n",
       "\n",
       "                                         sp|Q6UWP8|SBSN_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           18.2125721   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          16.90970612   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          13.34554386   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          20.80704689   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          17.50129318   \n",
       "\n",
       "                                         sp|Q6UXB8|PI16_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A          23.48308372   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          23.31561852   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          23.58817863   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          23.25824928   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          23.05339622   \n",
       "\n",
       "                                         sp|Q92736|RYR2_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A          20.45380974   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          18.60210037   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          18.65951729   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          21.18655968   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          21.60560417   \n",
       "\n",
       "                                         sp|Q96IY4|CBPB2_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A             21.819561   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           22.21127701   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A            21.8640461   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           21.24667168   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           21.72242355   \n",
       "\n",
       "                                         sp|Q96PD5|PGRP2_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           25.08229065   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           24.88887978   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           25.16353798   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           25.07989311   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           25.20258331   \n",
       "\n",
       "                                         sp|Q9HDC9|APMAP_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           20.85553551   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           20.59141159   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           21.04162788   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           19.46746445   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           19.91134644   \n",
       "\n",
       "                                         sp|Q9NZP8|C1RL_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           20.4588604   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A          17.14304733   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A          18.74650764   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           20.6216526   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          21.13340378   \n",
       "\n",
       "                                         sp|Q9UBP9|GULP1_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           28.83514977   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           28.68237686   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           29.10836601   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           28.35871315   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           28.25678444   \n",
       "\n",
       "                                         sp|Q9UGM5|FETUB_HUMAN  \\\n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A           21.02322769   \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           21.82271576   \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           19.95448685   \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A           20.65556526   \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A           20.77088356   \n",
       "\n",
       "                                         sp|Q9Y490|TLN1_HUMAN  \n",
       "LFQ intensity 005_HFX_HW_RAW_IMC_A1_106A          20.34404564  \n",
       "LFQ intensity 006_HFX_HW_RAW_IMC_A2_209A           19.7013855  \n",
       "LFQ intensity 012_HFX_HW_RAW_IMC_A8_214A           20.4085598  \n",
       "LFQ intensity 021_HFX_HW_RAW_IMC_C3_227A          20.66396141  \n",
       "LFQ intensity 024_HFX_HW_RAW_IMC_C6_124A          20.50154495  \n",
       "\n",
       "[5 rows x 267 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "raw_proteomics = pd.read_csv('../../data/proteomics_abunds.txt', sep='\\t', index_col=0).transpose()\n",
    "raw_proteomics.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd4f4318-0563-4005-90a1-305218f35529",
   "metadata": {},
   "source": [
    "This is removing all columns that doen't have abundance information, taking only unique ID from row names and converting to floats."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d705c47d-572a-4f97-98c3-39e9127139f6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CON__P00761</th>\n",
       "      <th>sp|P02533|K1C14_HUMAN;CON__P02533</th>\n",
       "      <th>sp|P02768|ALBU_HUMAN;CON__P02768-1</th>\n",
       "      <th>CON__P02769</th>\n",
       "      <th>sp|P48668|K2C6C_HUMAN;CON__P48668;CON__P04259</th>\n",
       "      <th>sp|P13645|K1C10_HUMAN;CON__P13645</th>\n",
       "      <th>sp|P13647|K2C5_HUMAN;CON__P13647</th>\n",
       "      <th>CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN</th>\n",
       "      <th>sp|Q86YZ3|HORN_HUMAN;CON__Q86YZ3</th>\n",
       "      <th>sp|A0A075B6H9|LV469_HUMAN</th>\n",
       "      <th>...</th>\n",
       "      <th>sp|Q6UWP8|SBSN_HUMAN</th>\n",
       "      <th>sp|Q6UXB8|PI16_HUMAN</th>\n",
       "      <th>sp|Q92736|RYR2_HUMAN</th>\n",
       "      <th>sp|Q96IY4|CBPB2_HUMAN</th>\n",
       "      <th>sp|Q96PD5|PGRP2_HUMAN</th>\n",
       "      <th>sp|Q9HDC9|APMAP_HUMAN</th>\n",
       "      <th>sp|Q9NZP8|C1RL_HUMAN</th>\n",
       "      <th>sp|Q9UBP9|GULP1_HUMAN</th>\n",
       "      <th>sp|Q9UGM5|FETUB_HUMAN</th>\n",
       "      <th>sp|Q9Y490|TLN1_HUMAN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>005_HFX_HW_RAW_IMC_A1_106A</th>\n",
       "      <td>29.414034</td>\n",
       "      <td>19.480482</td>\n",
       "      <td>33.365807</td>\n",
       "      <td>23.197741</td>\n",
       "      <td>21.572432</td>\n",
       "      <td>21.094681</td>\n",
       "      <td>19.310707</td>\n",
       "      <td>19.288029</td>\n",
       "      <td>19.483946</td>\n",
       "      <td>21.265715</td>\n",
       "      <td>...</td>\n",
       "      <td>18.212572</td>\n",
       "      <td>23.483084</td>\n",
       "      <td>20.453810</td>\n",
       "      <td>21.819561</td>\n",
       "      <td>25.082291</td>\n",
       "      <td>20.855536</td>\n",
       "      <td>20.458860</td>\n",
       "      <td>28.835150</td>\n",
       "      <td>21.023228</td>\n",
       "      <td>20.344046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>29.336454</td>\n",
       "      <td>19.774490</td>\n",
       "      <td>32.956917</td>\n",
       "      <td>23.397673</td>\n",
       "      <td>21.685078</td>\n",
       "      <td>22.188005</td>\n",
       "      <td>20.725851</td>\n",
       "      <td>20.871471</td>\n",
       "      <td>19.841579</td>\n",
       "      <td>20.858858</td>\n",
       "      <td>...</td>\n",
       "      <td>16.909706</td>\n",
       "      <td>23.315619</td>\n",
       "      <td>18.602100</td>\n",
       "      <td>22.211277</td>\n",
       "      <td>24.888880</td>\n",
       "      <td>20.591412</td>\n",
       "      <td>17.143047</td>\n",
       "      <td>28.682377</td>\n",
       "      <td>21.822716</td>\n",
       "      <td>19.701386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>28.906614</td>\n",
       "      <td>19.529310</td>\n",
       "      <td>33.174339</td>\n",
       "      <td>24.401390</td>\n",
       "      <td>19.594507</td>\n",
       "      <td>22.131947</td>\n",
       "      <td>19.528219</td>\n",
       "      <td>20.954256</td>\n",
       "      <td>18.534006</td>\n",
       "      <td>21.559875</td>\n",
       "      <td>...</td>\n",
       "      <td>13.345544</td>\n",
       "      <td>23.588179</td>\n",
       "      <td>18.659517</td>\n",
       "      <td>21.864046</td>\n",
       "      <td>25.163538</td>\n",
       "      <td>21.041628</td>\n",
       "      <td>18.746508</td>\n",
       "      <td>29.108366</td>\n",
       "      <td>19.954487</td>\n",
       "      <td>20.408560</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>29.769306</td>\n",
       "      <td>21.061234</td>\n",
       "      <td>33.328308</td>\n",
       "      <td>24.742115</td>\n",
       "      <td>20.643036</td>\n",
       "      <td>20.368902</td>\n",
       "      <td>20.235897</td>\n",
       "      <td>17.218355</td>\n",
       "      <td>19.047693</td>\n",
       "      <td>21.543921</td>\n",
       "      <td>...</td>\n",
       "      <td>20.807047</td>\n",
       "      <td>23.258249</td>\n",
       "      <td>21.186560</td>\n",
       "      <td>21.246672</td>\n",
       "      <td>25.079893</td>\n",
       "      <td>19.467464</td>\n",
       "      <td>20.621653</td>\n",
       "      <td>28.358713</td>\n",
       "      <td>20.655565</td>\n",
       "      <td>20.663961</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>024_HFX_HW_RAW_IMC_C6_124A</th>\n",
       "      <td>29.567360</td>\n",
       "      <td>20.363079</td>\n",
       "      <td>32.930107</td>\n",
       "      <td>23.502518</td>\n",
       "      <td>20.780497</td>\n",
       "      <td>19.634420</td>\n",
       "      <td>20.836931</td>\n",
       "      <td>17.906363</td>\n",
       "      <td>18.741560</td>\n",
       "      <td>22.351000</td>\n",
       "      <td>...</td>\n",
       "      <td>17.501293</td>\n",
       "      <td>23.053396</td>\n",
       "      <td>21.605604</td>\n",
       "      <td>21.722424</td>\n",
       "      <td>25.202583</td>\n",
       "      <td>19.911346</td>\n",
       "      <td>21.133404</td>\n",
       "      <td>28.256784</td>\n",
       "      <td>20.770884</td>\n",
       "      <td>20.501545</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 250 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            CON__P00761  sp|P02533|K1C14_HUMAN;CON__P02533  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A    29.414034                          19.480482   \n",
       "006_HFX_HW_RAW_IMC_A2_209A    29.336454                          19.774490   \n",
       "012_HFX_HW_RAW_IMC_A8_214A    28.906614                          19.529310   \n",
       "021_HFX_HW_RAW_IMC_C3_227A    29.769306                          21.061234   \n",
       "024_HFX_HW_RAW_IMC_C6_124A    29.567360                          20.363079   \n",
       "\n",
       "                            sp|P02768|ALBU_HUMAN;CON__P02768-1  CON__P02769  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                           33.365807    23.197741   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                           32.956917    23.397673   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                           33.174339    24.401390   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                           33.328308    24.742115   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                           32.930107    23.502518   \n",
       "\n",
       "                            sp|P48668|K2C6C_HUMAN;CON__P48668;CON__P04259  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                                      21.572432   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                                      21.685078   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                                      19.594507   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                                      20.643036   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                                      20.780497   \n",
       "\n",
       "                            sp|P13645|K1C10_HUMAN;CON__P13645  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                          21.094681   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                          22.188005   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                          22.131947   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                          20.368902   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                          19.634420   \n",
       "\n",
       "                            sp|P13647|K2C5_HUMAN;CON__P13647  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                         19.310707   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                         20.725851   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                         19.528219   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                         20.235897   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                         20.836931   \n",
       "\n",
       "                            CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                                       19.288029   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                                       20.871471   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                                       20.954256   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                                       17.218355   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                                       17.906363   \n",
       "\n",
       "                            sp|Q86YZ3|HORN_HUMAN;CON__Q86YZ3  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                         19.483946   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                         19.841579   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                         18.534006   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                         19.047693   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                         18.741560   \n",
       "\n",
       "                            sp|A0A075B6H9|LV469_HUMAN  ...  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                  21.265715  ...   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                  20.858858  ...   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                  21.559875  ...   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                  21.543921  ...   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                  22.351000  ...   \n",
       "\n",
       "                            sp|Q6UWP8|SBSN_HUMAN  sp|Q6UXB8|PI16_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A             18.212572             23.483084   \n",
       "006_HFX_HW_RAW_IMC_A2_209A             16.909706             23.315619   \n",
       "012_HFX_HW_RAW_IMC_A8_214A             13.345544             23.588179   \n",
       "021_HFX_HW_RAW_IMC_C3_227A             20.807047             23.258249   \n",
       "024_HFX_HW_RAW_IMC_C6_124A             17.501293             23.053396   \n",
       "\n",
       "                            sp|Q92736|RYR2_HUMAN  sp|Q96IY4|CBPB2_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A             20.453810              21.819561   \n",
       "006_HFX_HW_RAW_IMC_A2_209A             18.602100              22.211277   \n",
       "012_HFX_HW_RAW_IMC_A8_214A             18.659517              21.864046   \n",
       "021_HFX_HW_RAW_IMC_C3_227A             21.186560              21.246672   \n",
       "024_HFX_HW_RAW_IMC_C6_124A             21.605604              21.722424   \n",
       "\n",
       "                            sp|Q96PD5|PGRP2_HUMAN  sp|Q9HDC9|APMAP_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A              25.082291              20.855536   \n",
       "006_HFX_HW_RAW_IMC_A2_209A              24.888880              20.591412   \n",
       "012_HFX_HW_RAW_IMC_A8_214A              25.163538              21.041628   \n",
       "021_HFX_HW_RAW_IMC_C3_227A              25.079893              19.467464   \n",
       "024_HFX_HW_RAW_IMC_C6_124A              25.202583              19.911346   \n",
       "\n",
       "                            sp|Q9NZP8|C1RL_HUMAN  sp|Q9UBP9|GULP1_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A             20.458860              28.835150   \n",
       "006_HFX_HW_RAW_IMC_A2_209A             17.143047              28.682377   \n",
       "012_HFX_HW_RAW_IMC_A8_214A             18.746508              29.108366   \n",
       "021_HFX_HW_RAW_IMC_C3_227A             20.621653              28.358713   \n",
       "024_HFX_HW_RAW_IMC_C6_124A             21.133404              28.256784   \n",
       "\n",
       "                            sp|Q9UGM5|FETUB_HUMAN  sp|Q9Y490|TLN1_HUMAN  \n",
       "005_HFX_HW_RAW_IMC_A1_106A              21.023228             20.344046  \n",
       "006_HFX_HW_RAW_IMC_A2_209A              21.822716             19.701386  \n",
       "012_HFX_HW_RAW_IMC_A8_214A              19.954487             20.408560  \n",
       "021_HFX_HW_RAW_IMC_C3_227A              20.655565             20.663961  \n",
       "024_HFX_HW_RAW_IMC_C6_124A              20.770884             20.501545  \n",
       "\n",
       "[5 rows x 250 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics = raw_proteomics.loc[[i for i in raw_proteomics.index if i.startswith('LFQ intensity')],\n",
    "                                raw_proteomics.columns[list(raw_proteomics.columns).index('Subject ID')+1:]]\n",
    "proteomics.index = [i.split()[-1] for i in proteomics.index]\n",
    "proteomics = proteomics.astype(float)\n",
    "proteomics.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9f89924d-3480-49b9-ae04-d5f820295de1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "250\n"
     ]
    }
   ],
   "source": [
    "print(len(proteomics.columns))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f613af37-06ef-4f8e-90e5-51702fc6ac88",
   "metadata": {},
   "source": [
    "250 proteins measured.\n",
    "\n",
    "Convert the abundances to relative abundance for comparison of normalizations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "4bfeee8c-6683-4328-af45-2a4716107958",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CON__P00761</th>\n",
       "      <th>sp|P02533|K1C14_HUMAN;CON__P02533</th>\n",
       "      <th>sp|P02768|ALBU_HUMAN;CON__P02768-1</th>\n",
       "      <th>CON__P02769</th>\n",
       "      <th>sp|P48668|K2C6C_HUMAN;CON__P48668;CON__P04259</th>\n",
       "      <th>sp|P13645|K1C10_HUMAN;CON__P13645</th>\n",
       "      <th>sp|P13647|K2C5_HUMAN;CON__P13647</th>\n",
       "      <th>CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN</th>\n",
       "      <th>sp|Q86YZ3|HORN_HUMAN;CON__Q86YZ3</th>\n",
       "      <th>sp|A0A075B6H9|LV469_HUMAN</th>\n",
       "      <th>...</th>\n",
       "      <th>sp|Q6UWP8|SBSN_HUMAN</th>\n",
       "      <th>sp|Q6UXB8|PI16_HUMAN</th>\n",
       "      <th>sp|Q92736|RYR2_HUMAN</th>\n",
       "      <th>sp|Q96IY4|CBPB2_HUMAN</th>\n",
       "      <th>sp|Q96PD5|PGRP2_HUMAN</th>\n",
       "      <th>sp|Q9HDC9|APMAP_HUMAN</th>\n",
       "      <th>sp|Q9NZP8|C1RL_HUMAN</th>\n",
       "      <th>sp|Q9UBP9|GULP1_HUMAN</th>\n",
       "      <th>sp|Q9UGM5|FETUB_HUMAN</th>\n",
       "      <th>sp|Q9Y490|TLN1_HUMAN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>005_HFX_HW_RAW_IMC_A1_106A</th>\n",
       "      <td>0.005043</td>\n",
       "      <td>0.003340</td>\n",
       "      <td>0.005721</td>\n",
       "      <td>0.003977</td>\n",
       "      <td>0.003699</td>\n",
       "      <td>0.003617</td>\n",
       "      <td>0.003311</td>\n",
       "      <td>0.003307</td>\n",
       "      <td>0.003341</td>\n",
       "      <td>0.003646</td>\n",
       "      <td>...</td>\n",
       "      <td>0.003123</td>\n",
       "      <td>0.004026</td>\n",
       "      <td>0.003507</td>\n",
       "      <td>0.003741</td>\n",
       "      <td>0.004301</td>\n",
       "      <td>0.003576</td>\n",
       "      <td>0.003508</td>\n",
       "      <td>0.004944</td>\n",
       "      <td>0.003605</td>\n",
       "      <td>0.003488</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>0.005066</td>\n",
       "      <td>0.003415</td>\n",
       "      <td>0.005691</td>\n",
       "      <td>0.004041</td>\n",
       "      <td>0.003745</td>\n",
       "      <td>0.003832</td>\n",
       "      <td>0.003579</td>\n",
       "      <td>0.003604</td>\n",
       "      <td>0.003426</td>\n",
       "      <td>0.003602</td>\n",
       "      <td>...</td>\n",
       "      <td>0.002920</td>\n",
       "      <td>0.004026</td>\n",
       "      <td>0.003212</td>\n",
       "      <td>0.003836</td>\n",
       "      <td>0.004298</td>\n",
       "      <td>0.003556</td>\n",
       "      <td>0.002960</td>\n",
       "      <td>0.004953</td>\n",
       "      <td>0.003769</td>\n",
       "      <td>0.003402</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>0.005009</td>\n",
       "      <td>0.003384</td>\n",
       "      <td>0.005749</td>\n",
       "      <td>0.004229</td>\n",
       "      <td>0.003396</td>\n",
       "      <td>0.003835</td>\n",
       "      <td>0.003384</td>\n",
       "      <td>0.003631</td>\n",
       "      <td>0.003212</td>\n",
       "      <td>0.003736</td>\n",
       "      <td>...</td>\n",
       "      <td>0.002313</td>\n",
       "      <td>0.004088</td>\n",
       "      <td>0.003234</td>\n",
       "      <td>0.003789</td>\n",
       "      <td>0.004361</td>\n",
       "      <td>0.003646</td>\n",
       "      <td>0.003249</td>\n",
       "      <td>0.005044</td>\n",
       "      <td>0.003458</td>\n",
       "      <td>0.003537</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>0.005104</td>\n",
       "      <td>0.003611</td>\n",
       "      <td>0.005715</td>\n",
       "      <td>0.004242</td>\n",
       "      <td>0.003540</td>\n",
       "      <td>0.003493</td>\n",
       "      <td>0.003470</td>\n",
       "      <td>0.002952</td>\n",
       "      <td>0.003266</td>\n",
       "      <td>0.003694</td>\n",
       "      <td>...</td>\n",
       "      <td>0.003568</td>\n",
       "      <td>0.003988</td>\n",
       "      <td>0.003633</td>\n",
       "      <td>0.003643</td>\n",
       "      <td>0.004300</td>\n",
       "      <td>0.003338</td>\n",
       "      <td>0.003536</td>\n",
       "      <td>0.004862</td>\n",
       "      <td>0.003542</td>\n",
       "      <td>0.003543</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>024_HFX_HW_RAW_IMC_C6_124A</th>\n",
       "      <td>0.005069</td>\n",
       "      <td>0.003491</td>\n",
       "      <td>0.005646</td>\n",
       "      <td>0.004030</td>\n",
       "      <td>0.003563</td>\n",
       "      <td>0.003366</td>\n",
       "      <td>0.003573</td>\n",
       "      <td>0.003070</td>\n",
       "      <td>0.003213</td>\n",
       "      <td>0.003832</td>\n",
       "      <td>...</td>\n",
       "      <td>0.003001</td>\n",
       "      <td>0.003953</td>\n",
       "      <td>0.003704</td>\n",
       "      <td>0.003724</td>\n",
       "      <td>0.004321</td>\n",
       "      <td>0.003414</td>\n",
       "      <td>0.003623</td>\n",
       "      <td>0.004845</td>\n",
       "      <td>0.003561</td>\n",
       "      <td>0.003515</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 250 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            CON__P00761  sp|P02533|K1C14_HUMAN;CON__P02533  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A     0.005043                           0.003340   \n",
       "006_HFX_HW_RAW_IMC_A2_209A     0.005066                           0.003415   \n",
       "012_HFX_HW_RAW_IMC_A8_214A     0.005009                           0.003384   \n",
       "021_HFX_HW_RAW_IMC_C3_227A     0.005104                           0.003611   \n",
       "024_HFX_HW_RAW_IMC_C6_124A     0.005069                           0.003491   \n",
       "\n",
       "                            sp|P02768|ALBU_HUMAN;CON__P02768-1  CON__P02769  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                            0.005721     0.003977   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                            0.005691     0.004041   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                            0.005749     0.004229   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                            0.005715     0.004242   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                            0.005646     0.004030   \n",
       "\n",
       "                            sp|P48668|K2C6C_HUMAN;CON__P48668;CON__P04259  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                                       0.003699   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                                       0.003745   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                                       0.003396   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                                       0.003540   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                                       0.003563   \n",
       "\n",
       "                            sp|P13645|K1C10_HUMAN;CON__P13645  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                           0.003617   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                           0.003832   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                           0.003835   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                           0.003493   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                           0.003366   \n",
       "\n",
       "                            sp|P13647|K2C5_HUMAN;CON__P13647  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                          0.003311   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                          0.003579   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                          0.003384   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                          0.003470   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                          0.003573   \n",
       "\n",
       "                            CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                                        0.003307   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                                        0.003604   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                                        0.003631   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                                        0.002952   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                                        0.003070   \n",
       "\n",
       "                            sp|Q86YZ3|HORN_HUMAN;CON__Q86YZ3  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                          0.003341   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                          0.003426   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                          0.003212   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                          0.003266   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                          0.003213   \n",
       "\n",
       "                            sp|A0A075B6H9|LV469_HUMAN  ...  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                   0.003646  ...   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                   0.003602  ...   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                   0.003736  ...   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                   0.003694  ...   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                   0.003832  ...   \n",
       "\n",
       "                            sp|Q6UWP8|SBSN_HUMAN  sp|Q6UXB8|PI16_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A              0.003123              0.004026   \n",
       "006_HFX_HW_RAW_IMC_A2_209A              0.002920              0.004026   \n",
       "012_HFX_HW_RAW_IMC_A8_214A              0.002313              0.004088   \n",
       "021_HFX_HW_RAW_IMC_C3_227A              0.003568              0.003988   \n",
       "024_HFX_HW_RAW_IMC_C6_124A              0.003001              0.003953   \n",
       "\n",
       "                            sp|Q92736|RYR2_HUMAN  sp|Q96IY4|CBPB2_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A              0.003507               0.003741   \n",
       "006_HFX_HW_RAW_IMC_A2_209A              0.003212               0.003836   \n",
       "012_HFX_HW_RAW_IMC_A8_214A              0.003234               0.003789   \n",
       "021_HFX_HW_RAW_IMC_C3_227A              0.003633               0.003643   \n",
       "024_HFX_HW_RAW_IMC_C6_124A              0.003704               0.003724   \n",
       "\n",
       "                            sp|Q96PD5|PGRP2_HUMAN  sp|Q9HDC9|APMAP_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A               0.004301               0.003576   \n",
       "006_HFX_HW_RAW_IMC_A2_209A               0.004298               0.003556   \n",
       "012_HFX_HW_RAW_IMC_A8_214A               0.004361               0.003646   \n",
       "021_HFX_HW_RAW_IMC_C3_227A               0.004300               0.003338   \n",
       "024_HFX_HW_RAW_IMC_C6_124A               0.004321               0.003414   \n",
       "\n",
       "                            sp|Q9NZP8|C1RL_HUMAN  sp|Q9UBP9|GULP1_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A              0.003508               0.004944   \n",
       "006_HFX_HW_RAW_IMC_A2_209A              0.002960               0.004953   \n",
       "012_HFX_HW_RAW_IMC_A8_214A              0.003249               0.005044   \n",
       "021_HFX_HW_RAW_IMC_C3_227A              0.003536               0.004862   \n",
       "024_HFX_HW_RAW_IMC_C6_124A              0.003623               0.004845   \n",
       "\n",
       "                            sp|Q9UGM5|FETUB_HUMAN  sp|Q9Y490|TLN1_HUMAN  \n",
       "005_HFX_HW_RAW_IMC_A1_106A               0.003605              0.003488  \n",
       "006_HFX_HW_RAW_IMC_A2_209A               0.003769              0.003402  \n",
       "012_HFX_HW_RAW_IMC_A8_214A               0.003458              0.003537  \n",
       "021_HFX_HW_RAW_IMC_C3_227A               0.003542              0.003543  \n",
       "024_HFX_HW_RAW_IMC_C6_124A               0.003561              0.003515  \n",
       "\n",
       "[5 rows x 250 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics_rel = proteomics.div(proteomics.sum(axis=1), axis=0)\n",
    "proteomics_rel.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b37ceaa6-d8bc-4251-9cd7-97d819e7da29",
   "metadata": {},
   "source": [
    "Same thing but with CLR."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1ea0ee20-3191-494f-b8d8-b507fc763046",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CON__P00761</th>\n",
       "      <th>sp|P02533|K1C14_HUMAN;CON__P02533</th>\n",
       "      <th>sp|P02768|ALBU_HUMAN;CON__P02768-1</th>\n",
       "      <th>CON__P02769</th>\n",
       "      <th>sp|P48668|K2C6C_HUMAN;CON__P48668;CON__P04259</th>\n",
       "      <th>sp|P13645|K1C10_HUMAN;CON__P13645</th>\n",
       "      <th>sp|P13647|K2C5_HUMAN;CON__P13647</th>\n",
       "      <th>CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN</th>\n",
       "      <th>sp|Q86YZ3|HORN_HUMAN;CON__Q86YZ3</th>\n",
       "      <th>sp|A0A075B6H9|LV469_HUMAN</th>\n",
       "      <th>...</th>\n",
       "      <th>sp|Q6UWP8|SBSN_HUMAN</th>\n",
       "      <th>sp|Q6UXB8|PI16_HUMAN</th>\n",
       "      <th>sp|Q92736|RYR2_HUMAN</th>\n",
       "      <th>sp|Q96IY4|CBPB2_HUMAN</th>\n",
       "      <th>sp|Q96PD5|PGRP2_HUMAN</th>\n",
       "      <th>sp|Q9HDC9|APMAP_HUMAN</th>\n",
       "      <th>sp|Q9NZP8|C1RL_HUMAN</th>\n",
       "      <th>sp|Q9UBP9|GULP1_HUMAN</th>\n",
       "      <th>sp|Q9UGM5|FETUB_HUMAN</th>\n",
       "      <th>sp|Q9Y490|TLN1_HUMAN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>005_HFX_HW_RAW_IMC_A1_106A</th>\n",
       "      <td>0.239511</td>\n",
       "      <td>-0.172531</td>\n",
       "      <td>0.365567</td>\n",
       "      <td>0.002103</td>\n",
       "      <td>-0.070532</td>\n",
       "      <td>-0.092927</td>\n",
       "      <td>-0.181283</td>\n",
       "      <td>-0.182458</td>\n",
       "      <td>-0.172353</td>\n",
       "      <td>-0.084852</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.239828</td>\n",
       "      <td>0.014328</td>\n",
       "      <td>-0.123777</td>\n",
       "      <td>-0.059142</td>\n",
       "      <td>0.080207</td>\n",
       "      <td>-0.104328</td>\n",
       "      <td>-0.123530</td>\n",
       "      <td>0.219635</td>\n",
       "      <td>-0.096319</td>\n",
       "      <td>-0.129157</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>0.244758</td>\n",
       "      <td>-0.149664</td>\n",
       "      <td>0.361124</td>\n",
       "      <td>0.018572</td>\n",
       "      <td>-0.057437</td>\n",
       "      <td>-0.034510</td>\n",
       "      <td>-0.102677</td>\n",
       "      <td>-0.095676</td>\n",
       "      <td>-0.146277</td>\n",
       "      <td>-0.096280</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.306160</td>\n",
       "      <td>0.015059</td>\n",
       "      <td>-0.210779</td>\n",
       "      <td>-0.033462</td>\n",
       "      <td>0.080354</td>\n",
       "      <td>-0.109184</td>\n",
       "      <td>-0.292456</td>\n",
       "      <td>0.222211</td>\n",
       "      <td>-0.051110</td>\n",
       "      <td>-0.153367</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>0.234427</td>\n",
       "      <td>-0.157710</td>\n",
       "      <td>0.372129</td>\n",
       "      <td>0.065003</td>\n",
       "      <td>-0.154378</td>\n",
       "      <td>-0.032611</td>\n",
       "      <td>-0.157766</td>\n",
       "      <td>-0.087288</td>\n",
       "      <td>-0.210017</td>\n",
       "      <td>-0.058797</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.538420</td>\n",
       "      <td>0.031110</td>\n",
       "      <td>-0.203268</td>\n",
       "      <td>-0.044789</td>\n",
       "      <td>0.095758</td>\n",
       "      <td>-0.083128</td>\n",
       "      <td>-0.198617</td>\n",
       "      <td>0.241382</td>\n",
       "      <td>-0.136174</td>\n",
       "      <td>-0.113674</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>0.251985</td>\n",
       "      <td>-0.094045</td>\n",
       "      <td>0.364910</td>\n",
       "      <td>0.067021</td>\n",
       "      <td>-0.114100</td>\n",
       "      <td>-0.127468</td>\n",
       "      <td>-0.134019</td>\n",
       "      <td>-0.295493</td>\n",
       "      <td>-0.194528</td>\n",
       "      <td>-0.071387</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.106187</td>\n",
       "      <td>0.005176</td>\n",
       "      <td>-0.088113</td>\n",
       "      <td>-0.085279</td>\n",
       "      <td>0.080580</td>\n",
       "      <td>-0.172731</td>\n",
       "      <td>-0.115137</td>\n",
       "      <td>0.203443</td>\n",
       "      <td>-0.113494</td>\n",
       "      <td>-0.113087</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>024_HFX_HW_RAW_IMC_C6_124A</th>\n",
       "      <td>0.245111</td>\n",
       "      <td>-0.127821</td>\n",
       "      <td>0.352824</td>\n",
       "      <td>0.015557</td>\n",
       "      <td>-0.107531</td>\n",
       "      <td>-0.164258</td>\n",
       "      <td>-0.104819</td>\n",
       "      <td>-0.256382</td>\n",
       "      <td>-0.210797</td>\n",
       "      <td>-0.034678</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.279262</td>\n",
       "      <td>-0.003737</td>\n",
       "      <td>-0.068595</td>\n",
       "      <td>-0.063202</td>\n",
       "      <td>0.085393</td>\n",
       "      <td>-0.150254</td>\n",
       "      <td>-0.090691</td>\n",
       "      <td>0.199775</td>\n",
       "      <td>-0.107993</td>\n",
       "      <td>-0.121045</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 250 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            CON__P00761  sp|P02533|K1C14_HUMAN;CON__P02533  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A     0.239511                          -0.172531   \n",
       "006_HFX_HW_RAW_IMC_A2_209A     0.244758                          -0.149664   \n",
       "012_HFX_HW_RAW_IMC_A8_214A     0.234427                          -0.157710   \n",
       "021_HFX_HW_RAW_IMC_C3_227A     0.251985                          -0.094045   \n",
       "024_HFX_HW_RAW_IMC_C6_124A     0.245111                          -0.127821   \n",
       "\n",
       "                            sp|P02768|ALBU_HUMAN;CON__P02768-1  CON__P02769  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                            0.365567     0.002103   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                            0.361124     0.018572   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                            0.372129     0.065003   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                            0.364910     0.067021   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                            0.352824     0.015557   \n",
       "\n",
       "                            sp|P48668|K2C6C_HUMAN;CON__P48668;CON__P04259  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                                      -0.070532   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                                      -0.057437   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                                      -0.154378   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                                      -0.114100   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                                      -0.107531   \n",
       "\n",
       "                            sp|P13645|K1C10_HUMAN;CON__P13645  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                          -0.092927   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                          -0.034510   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                          -0.032611   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                          -0.127468   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                          -0.164258   \n",
       "\n",
       "                            sp|P13647|K2C5_HUMAN;CON__P13647  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                         -0.181283   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                         -0.102677   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                         -0.157766   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                         -0.134019   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                         -0.104819   \n",
       "\n",
       "                            CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                                       -0.182458   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                                       -0.095676   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                                       -0.087288   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                                       -0.295493   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                                       -0.256382   \n",
       "\n",
       "                            sp|Q86YZ3|HORN_HUMAN;CON__Q86YZ3  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                         -0.172353   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                         -0.146277   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                         -0.210017   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                         -0.194528   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                         -0.210797   \n",
       "\n",
       "                            sp|A0A075B6H9|LV469_HUMAN  ...  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                  -0.084852  ...   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                  -0.096280  ...   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                  -0.058797  ...   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                  -0.071387  ...   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                  -0.034678  ...   \n",
       "\n",
       "                            sp|Q6UWP8|SBSN_HUMAN  sp|Q6UXB8|PI16_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A             -0.239828              0.014328   \n",
       "006_HFX_HW_RAW_IMC_A2_209A             -0.306160              0.015059   \n",
       "012_HFX_HW_RAW_IMC_A8_214A             -0.538420              0.031110   \n",
       "021_HFX_HW_RAW_IMC_C3_227A             -0.106187              0.005176   \n",
       "024_HFX_HW_RAW_IMC_C6_124A             -0.279262             -0.003737   \n",
       "\n",
       "                            sp|Q92736|RYR2_HUMAN  sp|Q96IY4|CBPB2_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A             -0.123777              -0.059142   \n",
       "006_HFX_HW_RAW_IMC_A2_209A             -0.210779              -0.033462   \n",
       "012_HFX_HW_RAW_IMC_A8_214A             -0.203268              -0.044789   \n",
       "021_HFX_HW_RAW_IMC_C3_227A             -0.088113              -0.085279   \n",
       "024_HFX_HW_RAW_IMC_C6_124A             -0.068595              -0.063202   \n",
       "\n",
       "                            sp|Q96PD5|PGRP2_HUMAN  sp|Q9HDC9|APMAP_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A               0.080207              -0.104328   \n",
       "006_HFX_HW_RAW_IMC_A2_209A               0.080354              -0.109184   \n",
       "012_HFX_HW_RAW_IMC_A8_214A               0.095758              -0.083128   \n",
       "021_HFX_HW_RAW_IMC_C3_227A               0.080580              -0.172731   \n",
       "024_HFX_HW_RAW_IMC_C6_124A               0.085393              -0.150254   \n",
       "\n",
       "                            sp|Q9NZP8|C1RL_HUMAN  sp|Q9UBP9|GULP1_HUMAN  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A             -0.123530               0.219635   \n",
       "006_HFX_HW_RAW_IMC_A2_209A             -0.292456               0.222211   \n",
       "012_HFX_HW_RAW_IMC_A8_214A             -0.198617               0.241382   \n",
       "021_HFX_HW_RAW_IMC_C3_227A             -0.115137               0.203443   \n",
       "024_HFX_HW_RAW_IMC_C6_124A             -0.090691               0.199775   \n",
       "\n",
       "                            sp|Q9UGM5|FETUB_HUMAN  sp|Q9Y490|TLN1_HUMAN  \n",
       "005_HFX_HW_RAW_IMC_A1_106A              -0.096319             -0.129157  \n",
       "006_HFX_HW_RAW_IMC_A2_209A              -0.051110             -0.153367  \n",
       "012_HFX_HW_RAW_IMC_A8_214A              -0.136174             -0.113674  \n",
       "021_HFX_HW_RAW_IMC_C3_227A              -0.113494             -0.113087  \n",
       "024_HFX_HW_RAW_IMC_C6_124A              -0.107993             -0.121045  \n",
       "\n",
       "[5 rows x 250 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics_clr = pd.DataFrame(clr(proteomics + .001), index=proteomics.index, columns=proteomics.columns)\n",
    "proteomics_clr.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9de5df7c-0421-438b-86dd-64766522594a",
   "metadata": {},
   "source": [
    "Now we will pull the metadata from the non-abundance columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "28f85a63-f3ce-469b-b252-ef279554d166",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BioID</th>\n",
       "      <th>Well</th>\n",
       "      <th>Run Number</th>\n",
       "      <th>Hospital</th>\n",
       "      <th>VisitCode</th>\n",
       "      <th>Age</th>\n",
       "      <th>Draw</th>\n",
       "      <th>Matrix</th>\n",
       "      <th>Draw_Matrix</th>\n",
       "      <th>Draw_Matrix_Time</th>\n",
       "      <th>Plate</th>\n",
       "      <th>Responder Status</th>\n",
       "      <th>Group_ID</th>\n",
       "      <th>Group_ID_Responder</th>\n",
       "      <th>Responder Status NVRHVR</th>\n",
       "      <th>Group_ID_Responder2Groups</th>\n",
       "      <th>BabyN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>005_HFX_HW_RAW_IMC_A1_106A</th>\n",
       "      <td>106A</td>\n",
       "      <td>A1</td>\n",
       "      <td>5</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>63</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>LVR</td>\n",
       "      <td>V5_Heelstick_Serum_LVR</td>\n",
       "      <td>V5_Heelstick_Serum_LVR</td>\n",
       "      <td>NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>106</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>209A</td>\n",
       "      <td>A2</td>\n",
       "      <td>6</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>55</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>NVR</td>\n",
       "      <td>V5_Heelstick_Serum_NVR</td>\n",
       "      <td>209</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>214A</td>\n",
       "      <td>A8</td>\n",
       "      <td>12</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>89</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>227A</td>\n",
       "      <td>C3</td>\n",
       "      <td>21</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>57</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>HVR</td>\n",
       "      <td>V5_Heelstick_Serum_HVR</td>\n",
       "      <td>226</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>024_HFX_HW_RAW_IMC_C6_124A</th>\n",
       "      <td>124A</td>\n",
       "      <td>C6</td>\n",
       "      <td>24</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>97</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V5_Heelstick_Serum_NA</td>\n",
       "      <td>V5_Heelstick_Serum_NA</td>\n",
       "      <td>NaN</td>\n",
       "      <td>V5_Heelstick_Serum_NA</td>\n",
       "      <td>124</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           BioID Well Run Number        Hospital VisitCode  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  106A   A1          5  Well Check 02m        V5   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  209A   A2          6  Well Check 02m        V5   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  214A   A8         12  Well Check 02m        V5   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  227A   C3         21  Well Check 02m        V5   \n",
       "024_HFX_HW_RAW_IMC_C6_124A  124A   C6         24  Well Check 02m        V5   \n",
       "\n",
       "                           Age       Draw Matrix      Draw_Matrix  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  63  Heelstick  Serum  Heelstick_Serum   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  55  Heelstick  Serum  Heelstick_Serum   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  89  Heelstick  Serum  Heelstick_Serum   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  57  Heelstick  Serum  Heelstick_Serum   \n",
       "024_HFX_HW_RAW_IMC_C6_124A  97  Heelstick  Serum  Heelstick_Serum   \n",
       "\n",
       "                              Draw_Matrix_Time Plate Responder Status  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  V5_Heelstick_Serum     1              LVR   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  V5_Heelstick_Serum     1              NVR   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  V5_Heelstick_Serum     1              HVR   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  V5_Heelstick_Serum     1              HVR   \n",
       "024_HFX_HW_RAW_IMC_C6_124A  V5_Heelstick_Serum     1              NaN   \n",
       "\n",
       "                                          Group_ID      Group_ID_Responder  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A  V5_Heelstick_Serum_LVR  V5_Heelstick_Serum_LVR   \n",
       "006_HFX_HW_RAW_IMC_A2_209A  V5_Heelstick_Serum_NVR  V5_Heelstick_Serum_NVR   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  V5_Heelstick_Serum_HVR  V5_Heelstick_Serum_HVR   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  V5_Heelstick_Serum_HVR  V5_Heelstick_Serum_HVR   \n",
       "024_HFX_HW_RAW_IMC_C6_124A   V5_Heelstick_Serum_NA   V5_Heelstick_Serum_NA   \n",
       "\n",
       "                           Responder Status NVRHVR Group_ID_Responder2Groups  \\\n",
       "005_HFX_HW_RAW_IMC_A1_106A                     NVR    V5_Heelstick_Serum_NVR   \n",
       "006_HFX_HW_RAW_IMC_A2_209A                     NVR    V5_Heelstick_Serum_NVR   \n",
       "012_HFX_HW_RAW_IMC_A8_214A                     HVR    V5_Heelstick_Serum_HVR   \n",
       "021_HFX_HW_RAW_IMC_C3_227A                     HVR    V5_Heelstick_Serum_HVR   \n",
       "024_HFX_HW_RAW_IMC_C6_124A                     NaN     V5_Heelstick_Serum_NA   \n",
       "\n",
       "                            BabyN  \n",
       "005_HFX_HW_RAW_IMC_A1_106A    106  \n",
       "006_HFX_HW_RAW_IMC_A2_209A    209  \n",
       "012_HFX_HW_RAW_IMC_A8_214A    214  \n",
       "021_HFX_HW_RAW_IMC_C3_227A    226  \n",
       "024_HFX_HW_RAW_IMC_C6_124A    124  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "meta_base = raw_proteomics.loc[[i for i in raw_proteomics.index if i.startswith('LFQ intensity')],\n",
    "                               raw_proteomics.columns[:list(raw_proteomics.columns).index('Subject ID')+1]]\n",
    "meta_base.index = [i.split()[-1] for i in meta_base.index]\n",
    "column_name_replacements = {'Subject ID': 'BabyN', 'VisitID': 'VisitCode'}\n",
    "meta_base.columns = [i if i not in column_name_replacements else column_name_replacements[i] for i in meta_base.columns]\n",
    "meta_base['BabyN'] = [int(i) for i in meta_base['BabyN']]\n",
    "meta_base.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e2d9d0a-aab5-4cb6-b2d8-c865a2d4dc21",
   "metadata": {},
   "source": [
    "Bring in titer data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "387aabaf-39db-4a87-8fd7-9e129a748afc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PT</th>\n",
       "      <th>Dip</th>\n",
       "      <th>FHA</th>\n",
       "      <th>PRN</th>\n",
       "      <th>TET</th>\n",
       "      <th>PRP (Hib)</th>\n",
       "      <th>PCV ST1</th>\n",
       "      <th>PCV ST3</th>\n",
       "      <th>PCV ST4</th>\n",
       "      <th>PCV ST5</th>\n",
       "      <th>...</th>\n",
       "      <th>median_mmNorm</th>\n",
       "      <th>median_mmNorm_DTAPHib</th>\n",
       "      <th>median_mmNorm_PCV</th>\n",
       "      <th>PT_protected</th>\n",
       "      <th>Dip_protected</th>\n",
       "      <th>FHA_protected</th>\n",
       "      <th>PRN_protected</th>\n",
       "      <th>TET_protected</th>\n",
       "      <th>PRP (Hib)_protected</th>\n",
       "      <th>VR_group</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>103</th>\n",
       "      <td>47.0</td>\n",
       "      <td>1.54</td>\n",
       "      <td>186.0</td>\n",
       "      <td>326.0</td>\n",
       "      <td>3.60</td>\n",
       "      <td>6.18</td>\n",
       "      <td>111.189953</td>\n",
       "      <td>46.960230</td>\n",
       "      <td>79.307349</td>\n",
       "      <td>82.640316</td>\n",
       "      <td>...</td>\n",
       "      <td>0.190854</td>\n",
       "      <td>0.326317</td>\n",
       "      <td>0.146465</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>108</th>\n",
       "      <td>31.0</td>\n",
       "      <td>1.21</td>\n",
       "      <td>34.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>2.12</td>\n",
       "      <td>4.15</td>\n",
       "      <td>36.929565</td>\n",
       "      <td>31.828768</td>\n",
       "      <td>82.189284</td>\n",
       "      <td>108.892504</td>\n",
       "      <td>...</td>\n",
       "      <td>0.168430</td>\n",
       "      <td>0.172291</td>\n",
       "      <td>0.164958</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>110</th>\n",
       "      <td>37.0</td>\n",
       "      <td>0.62</td>\n",
       "      <td>15.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>3.45</td>\n",
       "      <td>13.16</td>\n",
       "      <td>85.710344</td>\n",
       "      <td>58.493770</td>\n",
       "      <td>135.699571</td>\n",
       "      <td>416.070794</td>\n",
       "      <td>...</td>\n",
       "      <td>0.298568</td>\n",
       "      <td>0.237230</td>\n",
       "      <td>0.358166</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>112</th>\n",
       "      <td>11.0</td>\n",
       "      <td>0.23</td>\n",
       "      <td>22.0</td>\n",
       "      <td>68.0</td>\n",
       "      <td>0.79</td>\n",
       "      <td>14.69</td>\n",
       "      <td>118.861585</td>\n",
       "      <td>48.999537</td>\n",
       "      <td>92.404780</td>\n",
       "      <td>179.132640</td>\n",
       "      <td>...</td>\n",
       "      <td>0.358315</td>\n",
       "      <td>0.085661</td>\n",
       "      <td>0.468588</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>146.0</td>\n",
       "      <td>0.38</td>\n",
       "      <td>37.0</td>\n",
       "      <td>137.0</td>\n",
       "      <td>2.70</td>\n",
       "      <td>18.61</td>\n",
       "      <td>56.092263</td>\n",
       "      <td>17.140494</td>\n",
       "      <td>82.645151</td>\n",
       "      <td>196.584328</td>\n",
       "      <td>...</td>\n",
       "      <td>0.221124</td>\n",
       "      <td>0.298591</td>\n",
       "      <td>0.221124</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 48 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        PT   Dip    FHA    PRN   TET  PRP (Hib)     PCV ST1    PCV ST3  \\\n",
       "103   47.0  1.54  186.0  326.0  3.60       6.18  111.189953  46.960230   \n",
       "108   31.0  1.21   34.0   43.0  2.12       4.15   36.929565  31.828768   \n",
       "110   37.0  0.62   15.0   85.0  3.45      13.16   85.710344  58.493770   \n",
       "112   11.0  0.23   22.0   68.0  0.79      14.69  118.861585  48.999537   \n",
       "113  146.0  0.38   37.0  137.0  2.70      18.61   56.092263  17.140494   \n",
       "\n",
       "        PCV ST4     PCV ST5  ...  median_mmNorm  median_mmNorm_DTAPHib  \\\n",
       "103   79.307349   82.640316  ...       0.190854               0.326317   \n",
       "108   82.189284  108.892504  ...       0.168430               0.172291   \n",
       "110  135.699571  416.070794  ...       0.298568               0.237230   \n",
       "112   92.404780  179.132640  ...       0.358315               0.085661   \n",
       "113   82.645151  196.584328  ...       0.221124               0.298591   \n",
       "\n",
       "     median_mmNorm_PCV  PT_protected  Dip_protected  FHA_protected  \\\n",
       "103           0.146465          True           True           True   \n",
       "108           0.164958          True           True           True   \n",
       "110           0.358166          True           True           True   \n",
       "112           0.468588          True           True           True   \n",
       "113           0.221124          True           True           True   \n",
       "\n",
       "     PRN_protected  TET_protected  PRP (Hib)_protected  VR_group  \n",
       "103           True           True                 True       NVR  \n",
       "108           True           True                 True       NVR  \n",
       "110           True           True                 True       NVR  \n",
       "112           True           True                 True       NVR  \n",
       "113           True           True                 True       NVR  \n",
       "\n",
       "[5 rows x 48 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titer_data = pd.read_csv('../../data/vaccine_response/vaccine_response_y2.tsv', sep='\\t', index_col=0)\n",
    "titer_data.index = [int(i.split('Baby')[-1]) for i in titer_data.index]\n",
    "titer_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c433fe5-9012-41c8-a902-4ba27d3da7e8",
   "metadata": {},
   "source": [
    "Split titer data to be per sample that we have in the proteomics metadata."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "8d366c59-6e0e-4226-a92b-7806106031ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PT</th>\n",
       "      <th>Dip</th>\n",
       "      <th>FHA</th>\n",
       "      <th>PRN</th>\n",
       "      <th>TET</th>\n",
       "      <th>PRP (Hib)</th>\n",
       "      <th>PCV ST1</th>\n",
       "      <th>PCV ST3</th>\n",
       "      <th>PCV ST4</th>\n",
       "      <th>PCV ST5</th>\n",
       "      <th>...</th>\n",
       "      <th>median_mmNorm</th>\n",
       "      <th>median_mmNorm_DTAPHib</th>\n",
       "      <th>median_mmNorm_PCV</th>\n",
       "      <th>PT_protected</th>\n",
       "      <th>Dip_protected</th>\n",
       "      <th>FHA_protected</th>\n",
       "      <th>PRN_protected</th>\n",
       "      <th>TET_protected</th>\n",
       "      <th>PRP (Hib)_protected</th>\n",
       "      <th>VR_group</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>9.0</td>\n",
       "      <td>1.04</td>\n",
       "      <td>4.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>0.28</td>\n",
       "      <td>1.14</td>\n",
       "      <td>53.077697</td>\n",
       "      <td>62.269766</td>\n",
       "      <td>27.740701</td>\n",
       "      <td>240.64416</td>\n",
       "      <td>...</td>\n",
       "      <td>0.068419</td>\n",
       "      <td>0.035388</td>\n",
       "      <td>0.075616</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>12.0</td>\n",
       "      <td>0.53</td>\n",
       "      <td>81.0</td>\n",
       "      <td>149.0</td>\n",
       "      <td>4.12</td>\n",
       "      <td>9.05</td>\n",
       "      <td>22.411392</td>\n",
       "      <td>28.198302</td>\n",
       "      <td>24.200734</td>\n",
       "      <td>43.004297</td>\n",
       "      <td>...</td>\n",
       "      <td>0.053253</td>\n",
       "      <td>0.286678</td>\n",
       "      <td>0.042274</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>16.0</td>\n",
       "      <td>0.68</td>\n",
       "      <td>20.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>3.26</td>\n",
       "      <td>3.57</td>\n",
       "      <td>23.329774</td>\n",
       "      <td>17.282082</td>\n",
       "      <td>14.035415</td>\n",
       "      <td>40.739842</td>\n",
       "      <td>...</td>\n",
       "      <td>0.082202</td>\n",
       "      <td>0.097174</td>\n",
       "      <td>0.057712</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>026_HFX_HW_RAW_IMC_C8_208A</th>\n",
       "      <td>15.0</td>\n",
       "      <td>1.7</td>\n",
       "      <td>13.0</td>\n",
       "      <td>82.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>6.31</td>\n",
       "      <td>96.781965</td>\n",
       "      <td>42.083612</td>\n",
       "      <td>71.105095</td>\n",
       "      <td>66.368585</td>\n",
       "      <td>...</td>\n",
       "      <td>0.087108</td>\n",
       "      <td>0.127116</td>\n",
       "      <td>0.067863</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>036_HFX_HW_RAW_IMC_B4_221A</th>\n",
       "      <td>21.0</td>\n",
       "      <td>2.42</td>\n",
       "      <td>6.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>0.9</td>\n",
       "      <td>3.02</td>\n",
       "      <td>49.641318</td>\n",
       "      <td>44.743397</td>\n",
       "      <td>34.68576</td>\n",
       "      <td>73.6392</td>\n",
       "      <td>...</td>\n",
       "      <td>0.120919</td>\n",
       "      <td>0.102953</td>\n",
       "      <td>0.120919</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 48 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                              PT   Dip   FHA    PRN   TET PRP (Hib)  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A   9.0  1.04   4.0   28.0  0.28      1.14   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  12.0  0.53  81.0  149.0  4.12      9.05   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  16.0  0.68  20.0   32.0  3.26      3.57   \n",
       "026_HFX_HW_RAW_IMC_C8_208A  15.0   1.7  13.0   82.0  0.95      6.31   \n",
       "036_HFX_HW_RAW_IMC_B4_221A  21.0  2.42   6.0   53.0   0.9      3.02   \n",
       "\n",
       "                              PCV ST1    PCV ST3    PCV ST4    PCV ST5  ...  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A  53.077697  62.269766  27.740701  240.64416  ...   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  22.411392  28.198302  24.200734  43.004297  ...   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  23.329774  17.282082  14.035415  40.739842  ...   \n",
       "026_HFX_HW_RAW_IMC_C8_208A  96.781965  42.083612  71.105095  66.368585  ...   \n",
       "036_HFX_HW_RAW_IMC_B4_221A  49.641318  44.743397   34.68576    73.6392  ...   \n",
       "\n",
       "                           median_mmNorm median_mmNorm_DTAPHib  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A      0.068419              0.035388   \n",
       "012_HFX_HW_RAW_IMC_A8_214A      0.053253              0.286678   \n",
       "021_HFX_HW_RAW_IMC_C3_227A      0.082202              0.097174   \n",
       "026_HFX_HW_RAW_IMC_C8_208A      0.087108              0.127116   \n",
       "036_HFX_HW_RAW_IMC_B4_221A      0.120919              0.102953   \n",
       "\n",
       "                           median_mmNorm_PCV PT_protected Dip_protected  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A          0.075616         True          True   \n",
       "012_HFX_HW_RAW_IMC_A8_214A          0.042274         True          True   \n",
       "021_HFX_HW_RAW_IMC_C3_227A          0.057712         True          True   \n",
       "026_HFX_HW_RAW_IMC_C8_208A          0.067863         True          True   \n",
       "036_HFX_HW_RAW_IMC_B4_221A          0.120919         True          True   \n",
       "\n",
       "                           FHA_protected PRN_protected TET_protected  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A         False          True          True   \n",
       "012_HFX_HW_RAW_IMC_A8_214A          True          True          True   \n",
       "021_HFX_HW_RAW_IMC_C3_227A          True          True          True   \n",
       "026_HFX_HW_RAW_IMC_C8_208A          True          True          True   \n",
       "036_HFX_HW_RAW_IMC_B4_221A         False          True          True   \n",
       "\n",
       "                           PRP (Hib)_protected VR_group  \n",
       "006_HFX_HW_RAW_IMC_A2_209A                True      NVR  \n",
       "012_HFX_HW_RAW_IMC_A8_214A                True      NVR  \n",
       "021_HFX_HW_RAW_IMC_C3_227A                True      NVR  \n",
       "026_HFX_HW_RAW_IMC_C8_208A                True      NVR  \n",
       "036_HFX_HW_RAW_IMC_B4_221A                True      NVR  \n",
       "\n",
       "[5 rows x 48 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "per_sample_titer_data = pd.DataFrame({sample: titer_data.loc[i] for sample, i in meta_base['BabyN'].iteritems() if i in titer_data.index}).transpose()\n",
    "per_sample_titer_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a0c67278-4a14-4be4-bd30-ce3ada7712e1",
   "metadata": {},
   "source": [
    "Merge proteomics metadata and titer data. Remove samples without a VR group."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "f6f8040f-3273-408e-893d-bc1a6e3e7dc5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BioID</th>\n",
       "      <th>Well</th>\n",
       "      <th>Run Number</th>\n",
       "      <th>Hospital</th>\n",
       "      <th>VisitCode</th>\n",
       "      <th>Age</th>\n",
       "      <th>Draw</th>\n",
       "      <th>Matrix</th>\n",
       "      <th>Draw_Matrix</th>\n",
       "      <th>Draw_Matrix_Time</th>\n",
       "      <th>...</th>\n",
       "      <th>median_mmNorm</th>\n",
       "      <th>median_mmNorm_DTAPHib</th>\n",
       "      <th>median_mmNorm_PCV</th>\n",
       "      <th>PT_protected</th>\n",
       "      <th>Dip_protected</th>\n",
       "      <th>FHA_protected</th>\n",
       "      <th>PRN_protected</th>\n",
       "      <th>TET_protected</th>\n",
       "      <th>PRP (Hib)_protected</th>\n",
       "      <th>VR_group</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>006_HFX_HW_RAW_IMC_A2_209A</th>\n",
       "      <td>209A</td>\n",
       "      <td>A2</td>\n",
       "      <td>6</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>55</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>0.068419</td>\n",
       "      <td>0.035388</td>\n",
       "      <td>0.075616</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>012_HFX_HW_RAW_IMC_A8_214A</th>\n",
       "      <td>214A</td>\n",
       "      <td>A8</td>\n",
       "      <td>12</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>89</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>0.053253</td>\n",
       "      <td>0.286678</td>\n",
       "      <td>0.042274</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>021_HFX_HW_RAW_IMC_C3_227A</th>\n",
       "      <td>227A</td>\n",
       "      <td>C3</td>\n",
       "      <td>21</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>57</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>0.082202</td>\n",
       "      <td>0.097174</td>\n",
       "      <td>0.057712</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>026_HFX_HW_RAW_IMC_C8_208A</th>\n",
       "      <td>208A</td>\n",
       "      <td>C8</td>\n",
       "      <td>26</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>63</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>0.087108</td>\n",
       "      <td>0.127116</td>\n",
       "      <td>0.067863</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>036_HFX_HW_RAW_IMC_B4_221A</th>\n",
       "      <td>221A</td>\n",
       "      <td>B4</td>\n",
       "      <td>36</td>\n",
       "      <td>Well Check 02m</td>\n",
       "      <td>V5</td>\n",
       "      <td>70</td>\n",
       "      <td>Heelstick</td>\n",
       "      <td>Serum</td>\n",
       "      <td>Heelstick_Serum</td>\n",
       "      <td>V5_Heelstick_Serum</td>\n",
       "      <td>...</td>\n",
       "      <td>0.120919</td>\n",
       "      <td>0.102953</td>\n",
       "      <td>0.120919</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 65 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           BioID Well Run Number        Hospital VisitCode  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A  209A   A2          6  Well Check 02m        V5   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  214A   A8         12  Well Check 02m        V5   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  227A   C3         21  Well Check 02m        V5   \n",
       "026_HFX_HW_RAW_IMC_C8_208A  208A   C8         26  Well Check 02m        V5   \n",
       "036_HFX_HW_RAW_IMC_B4_221A  221A   B4         36  Well Check 02m        V5   \n",
       "\n",
       "                           Age       Draw Matrix      Draw_Matrix  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A  55  Heelstick  Serum  Heelstick_Serum   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  89  Heelstick  Serum  Heelstick_Serum   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  57  Heelstick  Serum  Heelstick_Serum   \n",
       "026_HFX_HW_RAW_IMC_C8_208A  63  Heelstick  Serum  Heelstick_Serum   \n",
       "036_HFX_HW_RAW_IMC_B4_221A  70  Heelstick  Serum  Heelstick_Serum   \n",
       "\n",
       "                              Draw_Matrix_Time  ... median_mmNorm  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A  V5_Heelstick_Serum  ...      0.068419   \n",
       "012_HFX_HW_RAW_IMC_A8_214A  V5_Heelstick_Serum  ...      0.053253   \n",
       "021_HFX_HW_RAW_IMC_C3_227A  V5_Heelstick_Serum  ...      0.082202   \n",
       "026_HFX_HW_RAW_IMC_C8_208A  V5_Heelstick_Serum  ...      0.087108   \n",
       "036_HFX_HW_RAW_IMC_B4_221A  V5_Heelstick_Serum  ...      0.120919   \n",
       "\n",
       "                           median_mmNorm_DTAPHib median_mmNorm_PCV  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A              0.035388          0.075616   \n",
       "012_HFX_HW_RAW_IMC_A8_214A              0.286678          0.042274   \n",
       "021_HFX_HW_RAW_IMC_C3_227A              0.097174          0.057712   \n",
       "026_HFX_HW_RAW_IMC_C8_208A              0.127116          0.067863   \n",
       "036_HFX_HW_RAW_IMC_B4_221A              0.102953          0.120919   \n",
       "\n",
       "                           PT_protected Dip_protected FHA_protected  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A         True          True         False   \n",
       "012_HFX_HW_RAW_IMC_A8_214A         True          True          True   \n",
       "021_HFX_HW_RAW_IMC_C3_227A         True          True          True   \n",
       "026_HFX_HW_RAW_IMC_C8_208A         True          True          True   \n",
       "036_HFX_HW_RAW_IMC_B4_221A         True          True         False   \n",
       "\n",
       "                            PRN_protected TET_protected PRP (Hib)_protected  \\\n",
       "006_HFX_HW_RAW_IMC_A2_209A           True          True                True   \n",
       "012_HFX_HW_RAW_IMC_A8_214A           True          True                True   \n",
       "021_HFX_HW_RAW_IMC_C3_227A           True          True                True   \n",
       "026_HFX_HW_RAW_IMC_C8_208A           True          True                True   \n",
       "036_HFX_HW_RAW_IMC_B4_221A           True          True                True   \n",
       "\n",
       "                           VR_group  \n",
       "006_HFX_HW_RAW_IMC_A2_209A      NVR  \n",
       "012_HFX_HW_RAW_IMC_A8_214A      NVR  \n",
       "021_HFX_HW_RAW_IMC_C3_227A      NVR  \n",
       "026_HFX_HW_RAW_IMC_C8_208A      NVR  \n",
       "036_HFX_HW_RAW_IMC_B4_221A      NVR  \n",
       "\n",
       "[5 rows x 65 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "meta = pd.concat([meta_base, per_sample_titer_data], axis=1)\n",
    "meta = meta.loc[~pd.isna(meta['VR_group'])]\n",
    "meta.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "639d7691-4823-4d09-b659-14128b41c750",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(45, 65)\n"
     ]
    }
   ],
   "source": [
    "in_both = list(set(meta.index) & set(proteomics.index))\n",
    "meta_matched = meta.loc[in_both]\n",
    "print(meta_matched.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "5217001f-d927-4245-ace0-36f9879b5226",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "V5    43\n",
       "V6     2\n",
       "Name: VisitCode, dtype: int64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "meta_matched['VisitCode'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "27938a15-31b3-4d92-bf41-44b6fe6c9135",
   "metadata": {},
   "source": [
    "47 samples are in the metadata and proteomics data. Of those two are V6. We will filter those out."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "834373d2-6bf7-402e-b7c0-2f28b62f6c2e",
   "metadata": {},
   "outputs": [],
   "source": [
    "meta_v5 = meta_matched.query(\"VisitCode == 'V5'\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "46190c13-2458-4d76-8fb9-25d077252677",
   "metadata": {},
   "source": [
    "## Do correlation with un-normalized data\n",
    "\n",
    "We will do our correlations between proteomics and median titer. I used Spearman correlation and Benjamini-Hochberg for FDR correction per set of tests."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "ec869bc4-a645-43c7-815d-a39fb763d455",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|P0DOX2|IGA2_HUMAN</th>\n",
       "      <td>0.511463</td>\n",
       "      <td>0.000456</td>\n",
       "      <td>0.114039</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P02743|SAMP_HUMAN</th>\n",
       "      <td>0.422555</td>\n",
       "      <td>0.004761</td>\n",
       "      <td>0.388503</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|Q03591|FHR1_HUMAN</th>\n",
       "      <td>0.417721</td>\n",
       "      <td>0.005317</td>\n",
       "      <td>0.388503</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A0B4J1V0|HV315_HUMAN</th>\n",
       "      <td>-0.410772</td>\n",
       "      <td>0.006216</td>\n",
       "      <td>0.388503</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P06702|S10A9_HUMAN</th>\n",
       "      <td>-0.381690</td>\n",
       "      <td>0.011551</td>\n",
       "      <td>0.487994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.381010</td>\n",
       "      <td>0.011712</td>\n",
       "      <td>0.487994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A075B6I9|LV746_HUMAN</th>\n",
       "      <td>-0.354043</td>\n",
       "      <td>0.019848</td>\n",
       "      <td>0.625545</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P0DOX3|IGD_HUMAN;sp|P01880|IGHD_HUMAN</th>\n",
       "      <td>-0.353590</td>\n",
       "      <td>0.020017</td>\n",
       "      <td>0.625545</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P35527|K1C9_HUMAN;CON__P35527</th>\n",
       "      <td>-0.338482</td>\n",
       "      <td>0.026408</td>\n",
       "      <td>0.733546</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P01700|LV147_HUMAN</th>\n",
       "      <td>0.331986</td>\n",
       "      <td>0.029635</td>\n",
       "      <td>0.740881</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN</th>\n",
       "      <td>-0.316728</td>\n",
       "      <td>0.038515</td>\n",
       "      <td>0.806999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|Q13103|SPP24_HUMAN</th>\n",
       "      <td>-0.312120</td>\n",
       "      <td>0.041589</td>\n",
       "      <td>0.806999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P59666|DEF3_HUMAN;sp|P59665|DEF1_HUMAN</th>\n",
       "      <td>0.310685</td>\n",
       "      <td>0.042586</td>\n",
       "      <td>0.806999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P05155|IC1_HUMAN</th>\n",
       "      <td>0.307059</td>\n",
       "      <td>0.045192</td>\n",
       "      <td>0.806999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|Q15848|ADIPO_HUMAN</th>\n",
       "      <td>-0.289761</td>\n",
       "      <td>0.059463</td>\n",
       "      <td>0.857534</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                     rho   p_value     p_adj\n",
       "sp|P0DOX2|IGA2_HUMAN                            0.511463  0.000456  0.114039\n",
       "sp|P02743|SAMP_HUMAN                            0.422555  0.004761  0.388503\n",
       "sp|Q03591|FHR1_HUMAN                            0.417721  0.005317  0.388503\n",
       "sp|A0A0B4J1V0|HV315_HUMAN                      -0.410772  0.006216  0.388503\n",
       "sp|P06702|S10A9_HUMAN                          -0.381690  0.011551  0.487994\n",
       "sp|P08246|ELNE_HUMAN                           -0.381010  0.011712  0.487994\n",
       "sp|A0A075B6I9|LV746_HUMAN                      -0.354043  0.019848  0.625545\n",
       "sp|P0DOX3|IGD_HUMAN;sp|P01880|IGHD_HUMAN       -0.353590  0.020017  0.625545\n",
       "sp|P35527|K1C9_HUMAN;CON__P35527               -0.338482  0.026408  0.733546\n",
       "sp|P01700|LV147_HUMAN                           0.331986  0.029635  0.740881\n",
       "CON__P35908;CON__P35908v2;sp|P35908|K22E_HUMAN -0.316728  0.038515  0.806999\n",
       "sp|Q13103|SPP24_HUMAN                          -0.312120  0.041589  0.806999\n",
       "sp|P59666|DEF3_HUMAN;sp|P59665|DEF1_HUMAN       0.310685  0.042586  0.806999\n",
       "sp|P05155|IC1_HUMAN                             0.307059  0.045192  0.806999\n",
       "sp|Q15848|ADIPO_HUMAN                          -0.289761  0.059463  0.857534"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics_v5 = proteomics.loc[meta_v5.index]\n",
    "v5_correlations = proteomics_v5.apply(spearmanr, b=meta_v5['median_mmNorm']).transpose()\n",
    "v5_correlations.columns = ['rho', 'p_value']\n",
    "v5_correlations['p_adj'] = p_adjust(v5_correlations['p_value'])\n",
    "v5_correlations = v5_correlations.sort_values('p_value')\n",
    "v5_correlations.head(15)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8dae5adc-4ae0-44c0-ac51-f75f366532bf",
   "metadata": {},
   "source": [
    "No significant results after FDR correction."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "6ac17b11-6c18-4fb7-98d1-7af1a3048008",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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DQAwdOhQjB071uhjvfjiixCLxVi4cCHu3bsHf39/fPHFF2jZsiUAYNKkSVCr1RgxYgTy8/MRERGBxYsX6z3HvXv3DM6xAw9/Cf3www+YP38+lixZAg8PD7z33nt48sknAQCjR49GcnIyevfujeLiYoSFhWHVqlUGQ97FxcXYuHFjqa9TJpPhhRdewNq1azFmzBg0atQImzZtwldffYWBAwciLy8Pbm5u6NKlCxYsWKD7676iHv1glkqleOKJJ7BixQq9uUem8P777+PLL7/E+PHjkZ6eDjs7O7Ru3RqrV69GQEBAqY8ZMGAAJkyYgLfeesugLSYmBsHBwWjevLlB25AhQ7BmzRrs37+/1OetX78+PvzwQ7zxxhu6bSdPnsRrr72GHTt2wM/PD19//TU+/vhjfPPNN5BIJOjcubNeHaGhoZg0aRKSkpLQvn17fPvttxCLjfsbz8PDA+vXr8fChQt1H6JRUVF48803AQDdu3fHe++9h/feew9paWlo0KABli5dinbt2iEjIwMxMTGQSCQG86Dmzp2LqKgofP311/j000/Rv39/5OXlISIiosKT+R9V0T7v1q0bli1bhu+//x5z5sxBcnIypFIpWrRoge+++67CE5yBh6Fj69atWLFiBd566y0kJydDq9WiYcOGiIqKwvDhwyv9Oh5nyZIl+OKLLzB06FDk5ORALpejffv2iImJKfNU84ABA/Dhhx8a/O4AHvZb586ddX/MPWro0KEYP3687mKFfwsNDcXUqVN1ywmQ5YkEY8ZAifBw7suoUaMMrmx6tH3WrFllfnhZm6VLlyIxMZHD0TXEG2+8gffee89g1OjfIiMjMXnyZAwYMKDM9oULFyIiIsIcZVare/fuoVu3bmX+TBLVNjxdRURW5969e/D19X1swCGi2o2nq4hswPnz53WXu5bGz8+v1MtfrVW9evXwzjvvWLoMMsLu3btLvT1KidDQUHz//ffVWBHZMp6uIiIiIpvE01VERERkkxhyiIiIyCYx5BAREZFNYsghIiIim8SQQ0RERDaJIYeIiIhsEkMOERER2SSGHCIiIrJJ/wedwlVWsOjUpgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ =sns.scatterplot(x='sp|P60709|ACTB_HUMAN;sp|P63261|ACTG_HUMAN', y='median_mmNorm', hue='VisitCode',\n",
    "                   data=pd.concat([proteomics.loc[meta_matched.index], meta_matched], axis=1).query(\"VisitCode == 'V5'\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a9abab2c-3d81-4188-8879-dab44e6dbba2",
   "metadata": {},
   "source": [
    "This is our best result at a p-value of .06 and R value of -.51. Not super compelling."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d7431da8-1e57-48f5-992f-4b996fa51809",
   "metadata": {},
   "source": [
    "## Relative abunds\n",
    "\n",
    "Let's try different normalizations to see how that effects the results. I will start with relative abundances."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "f9bbf05a-8fba-43f7-a24e-64b3f59c8598",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|P0DOX2|IGA2_HUMAN</th>\n",
       "      <td>0.514182</td>\n",
       "      <td>0.000420</td>\n",
       "      <td>0.105046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|Q03591|FHR1_HUMAN</th>\n",
       "      <td>0.443177</td>\n",
       "      <td>0.002917</td>\n",
       "      <td>0.287361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A0B4J1V0|HV315_HUMAN</th>\n",
       "      <td>-0.427692</td>\n",
       "      <td>0.004226</td>\n",
       "      <td>0.287361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P02743|SAMP_HUMAN</th>\n",
       "      <td>0.424066</td>\n",
       "      <td>0.004598</td>\n",
       "      <td>0.287361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.413491</td>\n",
       "      <td>0.005850</td>\n",
       "      <td>0.292492</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                rho   p_value     p_adj\n",
       "sp|P0DOX2|IGA2_HUMAN       0.514182  0.000420  0.105046\n",
       "sp|Q03591|FHR1_HUMAN       0.443177  0.002917  0.287361\n",
       "sp|A0A0B4J1V0|HV315_HUMAN -0.427692  0.004226  0.287361\n",
       "sp|P02743|SAMP_HUMAN       0.424066  0.004598  0.287361\n",
       "sp|P08246|ELNE_HUMAN      -0.413491  0.005850  0.292492"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics_rel_v5 = proteomics_rel.loc[meta_v5.index]\n",
    "# metab_data_v5 = metab_data_v5[(metab_data_v5 > 0).sum(axis=0) > metab_data_v5.shape[0]*.2]\n",
    "v5_correlations_rel = proteomics_rel_v5.apply(spearmanr, b=meta_v5['median_mmNorm']).transpose()\n",
    "v5_correlations_rel.columns = ['rho', 'p_value']\n",
    "v5_correlations_rel['p_adj'] = p_adjust(v5_correlations_rel['p_value'])\n",
    "v5_correlations_rel = v5_correlations_rel.sort_values('p_value')\n",
    "v5_correlations_rel.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e5afa69b-dfdc-45ee-8645-b2397a3873cf",
   "metadata": {},
   "source": [
    "Even worse p-values."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "31126bfa-8d45-491c-a422-c6b5a88e2fee",
   "metadata": {},
   "source": [
    "## CLR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "c5ef7681-7103-4cd1-8407-6e303ab4314e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|P0DOX2|IGA2_HUMAN</th>\n",
       "      <td>0.520527</td>\n",
       "      <td>0.000346</td>\n",
       "      <td>0.086489</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A0B4J1V0|HV315_HUMAN</th>\n",
       "      <td>-0.430185</td>\n",
       "      <td>0.003986</td>\n",
       "      <td>0.276538</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|Q03591|FHR1_HUMAN</th>\n",
       "      <td>0.428750</td>\n",
       "      <td>0.004123</td>\n",
       "      <td>0.276538</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P02743|SAMP_HUMAN</th>\n",
       "      <td>0.418552</td>\n",
       "      <td>0.005218</td>\n",
       "      <td>0.276538</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.415984</td>\n",
       "      <td>0.005531</td>\n",
       "      <td>0.276538</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                rho   p_value     p_adj\n",
       "sp|P0DOX2|IGA2_HUMAN       0.520527  0.000346  0.086489\n",
       "sp|A0A0B4J1V0|HV315_HUMAN -0.430185  0.003986  0.276538\n",
       "sp|Q03591|FHR1_HUMAN       0.428750  0.004123  0.276538\n",
       "sp|P02743|SAMP_HUMAN       0.418552  0.005218  0.276538\n",
       "sp|P08246|ELNE_HUMAN      -0.415984  0.005531  0.276538"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics_clr_v5 = proteomics_clr.loc[meta_v5.index]\n",
    "# metab_data_v5 = metab_data_v5[(metab_data_v5 > 0).sum(axis=0) > metab_data_v5.shape[0]*.2]\n",
    "v5_correlations_clr = proteomics_clr_v5.apply(spearmanr, b=meta_v5['median_mmNorm']).transpose()\n",
    "v5_correlations_clr.columns = ['rho', 'p_value']\n",
    "v5_correlations_clr['p_adj'] = p_adjust(v5_correlations_clr['p_value'])\n",
    "v5_correlations_clr = v5_correlations_clr.sort_values('p_value')\n",
    "v5_correlations_clr.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a4e43f9a-af28-47a4-8370-c5197e4e9da9",
   "metadata": {},
   "source": [
    "Even worse p-values than relative abundance normalization."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f808c979-6017-42c5-be05-1104541a74ef",
   "metadata": {},
   "source": [
    "## Do correlations with separated titers\n",
    "\n",
    "Now we will see if spliting titers gives better results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "4fd8172f-dad6-428f-b106-3b58bb2dde90",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|P01714|LV319_HUMAN</th>\n",
       "      <td>0.397175</td>\n",
       "      <td>0.008360</td>\n",
       "      <td>0.6959</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P06702|S10A9_HUMAN</th>\n",
       "      <td>-0.395589</td>\n",
       "      <td>0.008648</td>\n",
       "      <td>0.6959</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CON__P02769</th>\n",
       "      <td>0.385089</td>\n",
       "      <td>0.010773</td>\n",
       "      <td>0.6959</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P01700|LV147_HUMAN</th>\n",
       "      <td>0.374438</td>\n",
       "      <td>0.013371</td>\n",
       "      <td>0.6959</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A0J9YXX1|HV5X1_HUMAN</th>\n",
       "      <td>-0.365600</td>\n",
       "      <td>0.015914</td>\n",
       "      <td>0.6959</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                rho   p_value   p_adj\n",
       "sp|P01714|LV319_HUMAN      0.397175  0.008360  0.6959\n",
       "sp|P06702|S10A9_HUMAN     -0.395589  0.008648  0.6959\n",
       "CON__P02769                0.385089  0.010773  0.6959\n",
       "sp|P01700|LV147_HUMAN      0.374438  0.013371  0.6959\n",
       "sp|A0A0J9YXX1|HV5X1_HUMAN -0.365600  0.015914  0.6959"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v5_DTAPHib_correlations = proteomics_v5.apply(spearmanr, b=meta_v5['median_mmNorm_DTAPHib']).transpose()\n",
    "v5_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v5_DTAPHib_correlations['p_adj'] = p_adjust(v5_DTAPHib_correlations['p_value'])\n",
    "v5_DTAPHib_correlations = v5_DTAPHib_correlations.sort_values('p_value')\n",
    "v5_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4aace24f-eba3-4d05-a81e-eaffb6603c9e",
   "metadata": {},
   "source": [
    "The least significant p-values so far."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "97872559-906a-4d25-8cec-8dca5bb6358e",
   "metadata": {},
   "outputs": [],
   "source": [
    "meta_PCV = meta_matched.loc[~pd.isna(meta_matched['median_mmNorm_PCV'])]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "a7b52287-28a7-452f-a9f6-af3a34b94da2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|A0A075B6I9|LV746_HUMAN</th>\n",
       "      <td>-0.475960</td>\n",
       "      <td>0.001255</td>\n",
       "      <td>0.171225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A0B4J1V0|HV315_HUMAN</th>\n",
       "      <td>-0.472712</td>\n",
       "      <td>0.001370</td>\n",
       "      <td>0.171225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.447634</td>\n",
       "      <td>0.002614</td>\n",
       "      <td>0.190936</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P0DOX3|IGD_HUMAN;sp|P01880|IGHD_HUMAN</th>\n",
       "      <td>-0.436379</td>\n",
       "      <td>0.003440</td>\n",
       "      <td>0.190936</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P06702|S10A9_HUMAN</th>\n",
       "      <td>-0.431998</td>\n",
       "      <td>0.003819</td>\n",
       "      <td>0.190936</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                               rho   p_value     p_adj\n",
       "sp|A0A075B6I9|LV746_HUMAN                -0.475960  0.001255  0.171225\n",
       "sp|A0A0B4J1V0|HV315_HUMAN                -0.472712  0.001370  0.171225\n",
       "sp|P08246|ELNE_HUMAN                     -0.447634  0.002614  0.190936\n",
       "sp|P0DOX3|IGD_HUMAN;sp|P01880|IGHD_HUMAN -0.436379  0.003440  0.190936\n",
       "sp|P06702|S10A9_HUMAN                    -0.431998  0.003819  0.190936"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "meta_PCV_v5 = meta_PCV.query(\"VisitCode == 'V5'\")\n",
    "proteomics_PCV_v5 = proteomics.loc[meta_PCV_v5.index]\n",
    "v5_PCV_correlations = proteomics_PCV_v5.apply(spearmanr, b=meta_PCV_v5['median_mmNorm_PCV']).transpose()\n",
    "v5_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v5_PCV_correlations['p_adj'] = p_adjust(v5_PCV_correlations['p_value'])\n",
    "v5_PCV_correlations = v5_PCV_correlations.sort_values('p_value')\n",
    "v5_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "412646b4-07b0-4d6d-9fc0-ab95e035db92",
   "metadata": {},
   "source": [
    "A adjusted p-value < .1 result but still all insignificant."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "762f3949-ec6e-4495-9a43-6ff000191f75",
   "metadata": {},
   "source": [
    "### Relative abundance\n",
    "\n",
    "We will check the other adjustments as well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "ab505f06-eaf8-4403-bac1-0ba947107009",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|A0A0J9YXX1|HV5X1_HUMAN</th>\n",
       "      <td>-0.389697</td>\n",
       "      <td>0.009791</td>\n",
       "      <td>0.579319</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.387355</td>\n",
       "      <td>0.010280</td>\n",
       "      <td>0.579319</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P06702|S10A9_HUMAN</th>\n",
       "      <td>-0.387204</td>\n",
       "      <td>0.010312</td>\n",
       "      <td>0.579319</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CON__P02769</th>\n",
       "      <td>0.382747</td>\n",
       "      <td>0.011304</td>\n",
       "      <td>0.579319</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P01714|LV319_HUMAN</th>\n",
       "      <td>0.381539</td>\n",
       "      <td>0.011586</td>\n",
       "      <td>0.579319</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                rho   p_value     p_adj\n",
       "sp|A0A0J9YXX1|HV5X1_HUMAN -0.389697  0.009791  0.579319\n",
       "sp|P08246|ELNE_HUMAN      -0.387355  0.010280  0.579319\n",
       "sp|P06702|S10A9_HUMAN     -0.387204  0.010312  0.579319\n",
       "CON__P02769                0.382747  0.011304  0.579319\n",
       "sp|P01714|LV319_HUMAN      0.381539  0.011586  0.579319"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v5_DTAPHib_correlations_rel = proteomics_rel_v5.apply(spearmanr, b=meta_v5['median_mmNorm_DTAPHib']).transpose()\n",
    "v5_DTAPHib_correlations_rel.columns = ['rho', 'p_value']\n",
    "v5_DTAPHib_correlations_rel['p_adj'] = p_adjust(v5_DTAPHib_correlations_rel['p_value'])\n",
    "v5_DTAPHib_correlations_rel = v5_DTAPHib_correlations_rel.sort_values('p_value')\n",
    "v5_DTAPHib_correlations_rel.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "be7aae6e-9085-4f77-a7af-14f5476b6c99",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|P02750|A2GL_HUMAN</th>\n",
       "      <td>0.494089</td>\n",
       "      <td>0.000759</td>\n",
       "      <td>0.131676</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A0B4J1V0|HV315_HUMAN</th>\n",
       "      <td>-0.476942</td>\n",
       "      <td>0.001222</td>\n",
       "      <td>0.131676</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.460928</td>\n",
       "      <td>0.001867</td>\n",
       "      <td>0.131676</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P0DOX2|IGA2_HUMAN</th>\n",
       "      <td>0.449824</td>\n",
       "      <td>0.002475</td>\n",
       "      <td>0.131676</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A075B6I9|LV746_HUMAN</th>\n",
       "      <td>-0.447332</td>\n",
       "      <td>0.002634</td>\n",
       "      <td>0.131676</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                rho   p_value     p_adj\n",
       "sp|P02750|A2GL_HUMAN       0.494089  0.000759  0.131676\n",
       "sp|A0A0B4J1V0|HV315_HUMAN -0.476942  0.001222  0.131676\n",
       "sp|P08246|ELNE_HUMAN      -0.460928  0.001867  0.131676\n",
       "sp|P0DOX2|IGA2_HUMAN       0.449824  0.002475  0.131676\n",
       "sp|A0A075B6I9|LV746_HUMAN -0.447332  0.002634  0.131676"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics_rel_PCV_v5 = proteomics_rel.loc[meta_PCV_v5.index]\n",
    "v5_PCV_correlations_rel = proteomics_rel_PCV_v5.apply(spearmanr, b=meta_PCV_v5['median_mmNorm_PCV']).transpose()\n",
    "v5_PCV_correlations_rel.columns = ['rho', 'p_value']\n",
    "v5_PCV_correlations_rel['p_adj'] = p_adjust(v5_PCV_correlations_rel['p_value'])\n",
    "v5_PCV_correlations_rel = v5_PCV_correlations_rel.sort_values('p_value')\n",
    "v5_PCV_correlations_rel.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07e450f3-f2ad-4437-824c-2429b1ffcabc",
   "metadata": {},
   "source": [
    "Nothing is significant for either titer."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e9157c2-12a8-4161-9064-257f48de3ff8",
   "metadata": {},
   "source": [
    "### CLR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "bdcb8118-6e3f-4210-900d-2f4d72358a6f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|A0A0J9YXX1|HV5X1_HUMAN</th>\n",
       "      <td>-0.396042</td>\n",
       "      <td>0.008565</td>\n",
       "      <td>0.540536</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.390150</td>\n",
       "      <td>0.009699</td>\n",
       "      <td>0.540536</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CON__P02769</th>\n",
       "      <td>0.385769</td>\n",
       "      <td>0.010623</td>\n",
       "      <td>0.540536</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P01700|LV147_HUMAN</th>\n",
       "      <td>0.383956</td>\n",
       "      <td>0.011027</td>\n",
       "      <td>0.540536</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P06702|S10A9_HUMAN</th>\n",
       "      <td>-0.383503</td>\n",
       "      <td>0.011130</td>\n",
       "      <td>0.540536</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                rho   p_value     p_adj\n",
       "sp|A0A0J9YXX1|HV5X1_HUMAN -0.396042  0.008565  0.540536\n",
       "sp|P08246|ELNE_HUMAN      -0.390150  0.009699  0.540536\n",
       "CON__P02769                0.385769  0.010623  0.540536\n",
       "sp|P01700|LV147_HUMAN      0.383956  0.011027  0.540536\n",
       "sp|P06702|S10A9_HUMAN     -0.383503  0.011130  0.540536"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v5_DTAPHib_correlations_clr = proteomics_clr_v5.apply(spearmanr, b=meta_v5['median_mmNorm_DTAPHib']).transpose()\n",
    "v5_DTAPHib_correlations_clr.columns = ['rho', 'p_value']\n",
    "v5_DTAPHib_correlations_clr['p_adj'] = p_adjust(v5_DTAPHib_correlations_clr['p_value'])\n",
    "v5_DTAPHib_correlations_clr = v5_DTAPHib_correlations_clr.sort_values('p_value')\n",
    "v5_DTAPHib_correlations_clr.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "11ddf273-ed1b-4085-8c19-6287fecedf7f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sp|P02750|A2GL_HUMAN</th>\n",
       "      <td>0.497413</td>\n",
       "      <td>0.000690</td>\n",
       "      <td>0.120661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A0B4J1V0|HV315_HUMAN</th>\n",
       "      <td>-0.478529</td>\n",
       "      <td>0.001171</td>\n",
       "      <td>0.120661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P08246|ELNE_HUMAN</th>\n",
       "      <td>-0.460400</td>\n",
       "      <td>0.001893</td>\n",
       "      <td>0.120661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|P0DOX2|IGA2_HUMAN</th>\n",
       "      <td>0.455867</td>\n",
       "      <td>0.002125</td>\n",
       "      <td>0.120661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sp|A0A075B6I9|LV746_HUMAN</th>\n",
       "      <td>-0.445670</td>\n",
       "      <td>0.002744</td>\n",
       "      <td>0.120661</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                rho   p_value     p_adj\n",
       "sp|P02750|A2GL_HUMAN       0.497413  0.000690  0.120661\n",
       "sp|A0A0B4J1V0|HV315_HUMAN -0.478529  0.001171  0.120661\n",
       "sp|P08246|ELNE_HUMAN      -0.460400  0.001893  0.120661\n",
       "sp|P0DOX2|IGA2_HUMAN       0.455867  0.002125  0.120661\n",
       "sp|A0A075B6I9|LV746_HUMAN -0.445670  0.002744  0.120661"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proteomics_clr_PCV_v5 = proteomics_clr.loc[meta_PCV_v5.index]\n",
    "v5_PCV_correlations_clr = proteomics_clr_PCV_v5.apply(spearmanr, b=meta_PCV_v5['median_mmNorm_PCV']).transpose()\n",
    "v5_PCV_correlations_clr.columns = ['rho', 'p_value']\n",
    "v5_PCV_correlations_clr['p_adj'] = p_adjust(v5_PCV_correlations_clr['p_value'])\n",
    "v5_PCV_correlations_clr = v5_PCV_correlations_clr.sort_values('p_value')\n",
    "v5_PCV_correlations_clr.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bcce6c1c-3a41-4c1c-a884-f5b320a33454",
   "metadata": {},
   "source": [
    " Again nothing with CLR."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "800b284f-5d99-4587-afab-38ab0e3d663c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
